function HeliSearchThink ()
	for k,v in pairs (ents.GetAll()) do
		if v:GetClass() == "npc_helicopter" and not v.DamageFrame then
			print ("making for", v)
			local dmgFrame = ents.Create ("prop_dynamic")
			dmgFrame:SetPos (v:GetPos())
			dmgFrame:SetAngles (v:GetAngles())
			dmgFrame:SetModel (v:GetModel())
			dmgFrame:SetName ("heli_dmgframe")
			dmgFrame:Spawn()
			dmgFrame:SetColor (Color(0,0,0,0))
			dmgFrame:SetParent (v)
			v.DamageFrame = dmgFrame
		end
	end
end

hook.Add ("Think", "HeliSearchThink", HeliSearchThink)

function HeliDamagePickup (ent, dmg)
	if ent:GetName() == "heli_dmgframe" then
		local amt = dmg:GetDamage()
		print ("dmg", amt)
		print ("hp", ent:GetParent():Health())
		if dmg:IsExplosionDamage() then amt = amt * 10 end
		ent:GetParent():Fire ("SetHealth", ent:GetParent():Health() - amt)
	end
end

hook.Add ("EntityTakeDamage", "HeilDamagePickup", HeliDamagePickup)